zero trust architecture blueprint/archive/zero-trust-architecture-offline/scripts/build.ps1 (29 lines of code) (raw):
. "$PSScriptRoot/RequiredModules.ps1"
if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole(`
[Security.Principal.WindowsBuiltInRole] "Administrator")) {
throw "Insufficient permissions to run this script. Open the PowerShell console as an administrator and run this script again."
}
# We will output everything to the deployment root.
$publicDirectory = "$PSScriptRoot\dependencies"
# Bundle the Windows 2019 STIG DSC zip
$windowsStigDscPackageRoot = "WindowsServer2019Workgroup"
$windowsStigDscConfigFilename = "WindowsServer2019Workgroup.ps1"
$windowsStigDscPackageRootPath = "$PSScriptRoot\source\$windowsStigDscPackageRoot"
# Bundle the online STIG DSC zip
New-Item -Path "$publicDirectory\online" -ItemType "directory" -ErrorAction SilentlyContinue
Compress-Archive -Path "$windowsStigDscPackageRootPath\**" -DestinationPath "$publicDirectory\online\$windowsStigDscConfigFilename.zip" -Force
# Bundle the offline STIG DSC zip
$requiredModules = Get-RequiredModules
$buildDirectory = "$PSScriptRoot\temp.usr"
Remove-Item $buildDirectory -Recurse -Confirm:$false -Force -ErrorAction SilentlyContinue
New-Item -Path $buildDirectory -ItemType "directory"
Copy-Item -Path "$windowsStigDscPackageRootPath" -Destination "$buildDirectory" -Recurse
foreach($requiredModule in $requiredModules) {
$FullyQualifedName = @{ModuleName="$($requiredModule.ModuleName)";ModuleVersion="$($requiredModule.ModuleVersion)"}
$ModulePath = (Get-Module -FullyQualifiedName $FullyQualifedName -ListAvailable)[0].ModuleBase | Split-Path
Write-Verbose "Copying $ModulePath to build folder."
Copy-Item -Path "$ModulePath" -Destination "$buildDirectory\$windowsStigDscPackageRoot" -Recurse
}
# Zip up the DSC package into the format expected by the DSC VM Extension
New-Item -Path "$publicDirectory\offline" -ItemType "directory" -ErrorAction SilentlyContinue
Compress-Archive -Path "$buildDirectory\$windowsStigDscPackageRoot\**" -DestinationPath "$publicDirectory\offline\$windowsStigDscConfigFilename.zip" -Force